+2008-07-01 Cody Russell <bratsche@gnome.org>
+
+ Bug 539164 – Windows' System Menu blocks main loop
+
+ * gdk/win32/gdkevents-win32.c: Use a modal timer proc in between
+ receiving WM_ENTERMENULOOP and WM_EXITMENULOOP and pump the
+ GLib mainloop from there.
+
2008-07-01 Richard Hult <richard@imendio.com>
Some aftermath from the window impl cleanups:
#endif
static gboolean in_ime_composition = FALSE;
-static UINT resize_timer;
+static UINT modal_timer;
static int debug_indent = 0;
}
static VOID CALLBACK
-resize_timer_proc (HWND hwnd,
+modal_timer_proc (HWND hwnd,
UINT msg,
UINT id,
DWORD time)
case WM_ENTERSIZEMOVE:
_sizemove_in_progress = TRUE;
- resize_timer = SetTimer (NULL, 0, 20, resize_timer_proc);
+ modal_timer = SetTimer (NULL, 0, 20, modal_timer_proc);
break;
case WM_EXITSIZEMOVE:
_sizemove_in_progress = FALSE;
- KillTimer (NULL, resize_timer);
+ KillTimer (NULL, modal_timer);
+ break;
+
+ case WM_ENTERMENULOOP:
+ _sizemove_in_progress = TRUE;
+ modal_timer = SetTimer (NULL, 0, 20, modal_timer_proc);
+ break;
+
+ case WM_EXITMENULOOP:
+ _sizemove_in_progress = FALSE;
+ KillTimer (NULL, modal_timer);
break;
case WM_WINDOWPOSCHANGED :